在過去我們寫程式常常會遇到以下這種情形
let statusA = 0;
const B = ()=>{
if(abc === '1'){
statusA = 1
}
return xxxx
........
}
const C = ()=>{
if(cba === '20'){
statusA = 10
}
return ooooo
.........
}
在這樣的情境下,雖然 function B 和 C 都是單獨的 scope,但是在執行程式時,
都會去改動到 statusA,如果程式碼一多,不只改動一個狀態,這樣就會造成不知道誰改動誰,
執行程式時不只回傳值,還會造成其他的狀態或程式受影響,這就是所謂的 side effect,
那為了改善這樣的寫法,便有 function programming 簡稱 FP 的模式發明,為了改善這種充滿
side effect 的程式,達到固定 import 以及固定 output 的 pure function。下一篇我們就來認識 FP 吧。